package com.lzy.product.dtos;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * Created by WIN7 on 2017/11/29.
 */
public class OrderProductDto implements Serializable {
    private static final long serialVersionUID = -5976084764538094405L;
    /**
     * 订单号
     */
    private Long orderId;

    /**
     * 第三方订单号
     */
    private String thirdOrderId;

    /**
     * 用户id
     */
    private Long memberId;

    /**
     * 客户姓名
     */
    private String name;

    /**
     * 联系电话
     */
    private String phone;

    /**
     * 身份证号
     */
    private String idCard;

    /**
     * 城市编码
     */
    private Integer cityCode;

    /**
     * 所在地区
     */
    private String cityName;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 银行卡号
     */
    private String bankCard;

    /**
     * 银行卡正面照
     */
    private String bankPhoto;

    /**
     * 身份证正面照片
     */
    private String positivePhoto;

    /**
     * 身份证反面照片
     */
    private String reversePhoto;

    /**
     * 状态（1-待支付，2-购买成功（审核中），3-已关闭，4-返现中，5-已到期）
     */
    private Integer status;

    /**
     * 订单类型（1-套餐类，2-卡券宝）
     */
    private Integer type;

    /**
     * 产品id
     */
    private Long productId;

    /**
     * 产品单选项id
     */
    private Long projectId;

    /**
     * 产品收益比率编号
     */
    private Long yieldRatioId;

    /**
     * 合同URL
     */
    private String contractUrl;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 审核状态（0-审核中，1-审核通过，2-审核不通过）
     */
    private Integer contractVerify;

    /**
     * 审核理由
     */
    private String reason;

    /**
     * 签名照
     */
    private String signedPhoto;

    /**
     * 线下线上支付（0-线上，1-线下）
     */
    private Integer online;

    /**
     * 付款方式（0-支付宝，1-微信）
     */
    private Integer payWay;

    /**
     * 付款时间
     */
    private String payTime;

    /**
     * 原价
     */
    private BigDecimal normalPrice;

    /**
     * 售价
     */
    private BigDecimal salePrice;

    /**
     * 总价
     */
    private BigDecimal moneyCount;

    /**
     * 商品数量
     */
    private Integer count;

    /**
     * 支付截止时间
     */
    private String expiredTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 温馨提示
     */
    private String reminder;

    /**
     * 操作人id
     */
    private Long createUser;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 更新人id
     */
    private Long updateUser;

    /**
     * 更新时间
     */
    private String updateTime;

    /**
     * 删除标记（0-正常，1-已删除）
     */
    private Boolean deleted;

    /************新添字段*************/
    /**
     * 支付二维码
     */
    private String payCode;
    private String key;
    //产品信息
    private String productImage;//产品封面
    private String productName;//产品名称
    private List<ProductInfoProjectDto> projectList;//所有包含项信息
    private ProjectVoDto projectVoDto;//产品单选项信息
    private String projectStr;//用户已选择字符串（仅用于后台详情展示）
    private String province;//省份名称
    private String city;//城市名称
    private String district;//区县名称
    //操作员
    private String userName;
    private String deptName;
    private String jobNumber;
    private List<OrderProductImageDto> orderProductImageList;
    //客户信息
    private String memberName;//客户姓名
    private String memberAccount;//客户手机号码
    private Integer memberCondition;//客户身份情况（1-没有注册，2-仅注册了会员，3-注册并且拥有产品对应的身份）
    //卡券宝限制提现时间
    /**
     * 限制提现时间（天）
     */
    private Integer limitTime;
    private String YieldRatioName;
    private OrderYieldRatioDto orderYieldRatio;
    private List<OrderProjectRecordDto> projects;//订单包含项信息

    //购买记录里的购买卡券类型
    private String couponName;

    //会员卡券宝详情
    private MemberCouponsDto memberCouponsDto;

    //卡券宝产品收益比率
    private OrderYieldRatioDto orderYieldRatioDto;

    private Integer hist;//查询关键字(1-进行中  2-历史)

    private ProductInfoProjectDto[] productInfoProjectDtos;

    //状态名称
    private String statusName;

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getThirdOrderId() {
        return thirdOrderId;
    }

    public void setThirdOrderId(String thirdOrderId) {
        this.thirdOrderId = thirdOrderId;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public Integer getCityCode() {
        return cityCode;
    }

    public void setCityCode(Integer cityCode) {
        this.cityCode = cityCode;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getBankCard() {
        return bankCard;
    }

    public void setBankCard(String bankCard) {
        this.bankCard = bankCard;
    }

    public String getBankPhoto() {
        return bankPhoto;
    }

    public void setBankPhoto(String bankPhoto) {
        this.bankPhoto = bankPhoto;
    }

    public String getPositivePhoto() {
        return positivePhoto;
    }

    public void setPositivePhoto(String positivePhoto) {
        this.positivePhoto = positivePhoto;
    }

    public String getReversePhoto() {
        return reversePhoto;
    }

    public void setReversePhoto(String reversePhoto) {
        this.reversePhoto = reversePhoto;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getContractUrl() {
        return contractUrl;
    }

    public void setContractUrl(String contractUrl) {
        this.contractUrl = contractUrl;
    }

    public Integer getOnline() {
        return online;
    }

    public void setOnline(Integer online) {
        this.online = online;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public String getPayTime() {
        return payTime;
    }

    public void setPayTime(String payTime) {
        if (payTime != null && payTime.length() > 18) {
            this.payTime = payTime.substring(0, payTime.length() - 2);
        } else {
            this.payTime = payTime;
        }
    }

    public BigDecimal getNormalPrice() {
        return normalPrice;
    }

    public void setNormalPrice(BigDecimal normalPrice) {
        this.normalPrice = normalPrice;
    }

    public BigDecimal getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(BigDecimal salePrice) {
        this.salePrice = salePrice;
    }

    public BigDecimal getMoneyCount() {
        return moneyCount;
    }

    public void setMoneyCount(BigDecimal moneyCount) {
        this.moneyCount = moneyCount;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        if (count == null)
            this.count = 1;
        else
            this.count = count;
    }

    public String getExpiredTime() {
        return expiredTime;
    }

    public void setExpiredTime(String expiredTime) {
        if (expiredTime != null && expiredTime.length() > 18) {
            this.expiredTime = expiredTime.substring(0, expiredTime.length() - 2);
        } else {
            this.expiredTime = expiredTime;
        }
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getReminder() {
        return reminder;
    }

    public void setReminder(String reminder) {
        this.reminder = reminder;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        if (createTime != null && createTime.length() > 18) {
            this.createTime = createTime.substring(0, createTime.length() - 2);
        } else {
            this.createTime = createTime;
        }
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        if (updateTime != null && updateTime.length() > 18) {
            this.updateTime = updateTime.substring(0, updateTime.length() - 2);
        } else {
            this.updateTime = updateTime;
        }
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getProductImage() {
        return productImage;
    }

    public void setProductImage(String productImage) {
        this.productImage = productImage;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getJobNumber() {
        return jobNumber;
    }

    public void setJobNumber(String jobNumber) {
        this.jobNumber = jobNumber;
    }

    public List<OrderProductImageDto> getOrderProductImageList() {
        return orderProductImageList;
    }

    public void setOrderProductImageList(List<OrderProductImageDto> orderProductImageList) {
        this.orderProductImageList = orderProductImageList;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getMemberAccount() {
        return memberAccount;
    }

    public void setMemberAccount(String memberAccount) {
        this.memberAccount = memberAccount;
    }

    public List<ProductInfoProjectDto> getProjectList() {
        return projectList;
    }

    public void setProjectList(List<ProductInfoProjectDto> projectList) {
        this.projectList = projectList;
    }

    public ProjectVoDto getProjectVoDto() {
        return projectVoDto;
    }

    public void setProjectVoDto(ProjectVoDto projectVoDto) {
        this.projectVoDto = projectVoDto;
    }

    public String getProjectStr() {
        return projectStr;
    }

    public void setProjectStr(String projectStr) {
        this.projectStr = projectStr;
    }

    public String getSignedPhoto() {
        return signedPhoto;
    }

    public void setSignedPhoto(String signedPhoto) {
        this.signedPhoto = signedPhoto;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getDistrict() {
        return district;
    }

    public void setDistrict(String district) {
        this.district = district;
    }

    public String getPayCode() {
        return payCode;
    }

    public void setPayCode(String payCode) {
        this.payCode = payCode;
    }

    public Integer getMemberCondition() {
        return memberCondition;
    }

    public void setMemberCondition(Integer memberCondition) {
        this.memberCondition = memberCondition;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getContractVerify() {
        return contractVerify;
    }

    public void setContractVerify(Integer contractVerify) {
        this.contractVerify = contractVerify;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Long getYieldRatioId() {
        return yieldRatioId;
    }

    public void setYieldRatioId(Long yieldRatioId) {
        this.yieldRatioId = yieldRatioId;
    }

    public String getContractName() {
        return contractName;
    }

    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public MemberCouponsDto getMemberCouponsDto() {
        return memberCouponsDto;
    }

    public void setMemberCouponsDto(MemberCouponsDto memberCouponsDto) {
        this.memberCouponsDto = memberCouponsDto;
    }

    public OrderYieldRatioDto getOrderYieldRatioDto() {
        return orderYieldRatioDto;
    }

    public void setOrderYieldRatioDto(OrderYieldRatioDto orderYieldRatioDto) {
        this.orderYieldRatioDto = orderYieldRatioDto;
    }

    public Integer getLimitTime() {
        return limitTime;
    }

    public void setLimitTime(Integer limitTime) {
        this.limitTime = limitTime;
    }

    public String getYieldRatioName() {
        return YieldRatioName;
    }

    public void setYieldRatioName(String yieldRatioName) {
        YieldRatioName = yieldRatioName;
    }

    public OrderYieldRatioDto getOrderYieldRatio() {
        return orderYieldRatio;
    }

    public void setOrderYieldRatio(OrderYieldRatioDto orderYieldRatio) {
        this.orderYieldRatio = orderYieldRatio;
    }

    public List<OrderProjectRecordDto> getProjects() {
        return projects;
    }

    public void setProjects(List<OrderProjectRecordDto> projects) {
        this.projects = projects;
    }

    public Integer getHist() {
        return hist;
    }

    public void setHist(Integer hist) {
        this.hist = hist;
    }

    public ProductInfoProjectDto[] getProductInfoProjectDtos() {
        return productInfoProjectDtos;
    }

    public void setProductInfoProjectDtos(ProductInfoProjectDto[] productInfoProjectDtos) {
        this.productInfoProjectDtos = productInfoProjectDtos;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }
}
